Hirdetés
Aktív témák
-
Jester01
veterán
Oracle tud hierarchikus lekérdezést ... mysql, passz ... pedig már az is oracle

MOD: ezt nézd meg
-
Jester01
veterán
válasz
DeltaPower
#1729
üzenetére
Megnézted, hogy az indexeket ténylegesen használja is a lekérdezés?
-
Jester01
veterán
válasz
Blindness
#1644
üzenetére
Hümm, nagyon vicces.
mysql> SELECT aartist FROM songs GROUP BY album, aartist HAVING GROUP_CONCAT(title) LIKE '%hammer%';
15 rows in set (0.08 sec)
mysql> SELECT aartist FROM songs GROUP BY album, aartist HAVING GROUP_CONCAT(title) LIKE '%hammer%' order by aartist;
14 rows in set (0.08 sec)Az egyik Queen nem jelenik meg. Még nem látom, miért

MOD: mégpedig a Live at Wembley '86
-
Jester01
veterán
válasz
tkazmer
#1344
üzenetére
Érdekes, nekem működik. Még úgy is, ahogy te írtad.
Your MySQL connection id is 1 to server version: 5.0.13-rc-standard
mysql> select * from t;
+------------+
| date |
+------------+
| 2007-10-10 |
| 2007-11-01 |
| 2007-11-29 |
| 2007-12-01 |
+------------+
4 rows in set (0.00 sec)
mysql> select month(date),count(*) from t group by month(date);
+-------------+----------+
| month(date) | count(*) |
+-------------+----------+
| 10 | 1 |
| 11 | 2 |
| 12 | 1 |
+-------------+----------+
3 rows in set (0.00 sec) -
Jester01
veterán
válasz
DeltaPower
#1332
üzenetére
Kiexportálod utf8-ban, iconv segítségével a fájlt konvertálod, majd import a másik gépen. Én legalábbis így csináltam.
-
Jester01
veterán
válasz
Briganti
#1194
üzenetére
A substr az sql függvény is, ne php részben használd. Magyarul szedd ki az aposztrófokat körüle:
$sel=mysql_query(''SELECT * FROM materia WHERE cod LIKE '$cod%' ORDER BY substr(cod,8,4) DESC'');
MOD: ja most látom, nem is a php részben volt, de ettől még nem kellenek oda az aposztrófok (mivel úgy string konstans lenne).
[Szerkesztve] -
Jester01
veterán
válasz
Forest_roby
#1086
üzenetére
Biztos értitek a problémámat.
Nem.
Szerk: amúgy ilyen kérdésekre (tőlem legalábbis) sokkal hamarabb lehet választ kapni, ha adtok letölthető példaadatokat és pontosan megmondjátok a várt eredményt.
[Szerkesztve] -
Jester01
veterán
válasz
Forest_roby
#1083
üzenetére
MAX() + GROUP BY
-
Jester01
veterán
válasz
Forest_roby
#1064
üzenetére
A FK előnye, hogy az adatbáziskezelő is tud a kapcsolatról és így biztosítja az adatok integritását. Pl. nem vehetsz fel fizetés rekordot nem létező emberhez, illetve ha törölsz egy embert, akkor automatikusan törlődhetnek a hozzá tartozó fizetés rekordok is vagy eleve csak olyat törölhetsz akihez (már) nincs fizetés rekord.
-
Jester01
veterán
Szerintem ezt 2 select-tel lehet megcsinálni (vagy vállalkozó szelleműek bele is gyömöszölhetik egy al-selectbe).
1. megkeressük az adott vonal első megállóját idő alapján
SELECT megallo FROM jarat WHERE irany=$irany ORDER BY idopont DESC LIMIT 1
2. lekérdezzük a hozzá tartozó információkat -
Jester01
veterán
Ez is egy join

Viszont hihetetlennek tartom, hogy ez így jó
and jarat.megallo=1 and jarat.megallo=megallo.id
Ebből az következik, hogy a megallo táblából mindig az 1. idjű megállót írja ki. Ez lehet, hogy az egyik járatnál pont az első megálló is egyben, de ez nem mindig lesz igaz. -
Jester01
veterán
válasz
VladimirR
#1030
üzenetére
aki tudja, hogyan lehetne ezt egy lekerdezessel megoldani, az ne kimeljen
Az UNION az egy lekérdezésnek számít
Hát ilyen borzalmat szabad?
SELECT DISTINCT f.* FROM felhasznalok f, kapcsolatok k WHERE f.id = CASE k.user1 WHEN 123 THEN k.user2 ELSE k.user1 END and (k.user1 = 123 or k.user2 = 123); -
Jester01
veterán
válasz
Forest_roby
#1028
üzenetére
#951
-
Jester01
veterán
válasz
Briganti
#934
üzenetére
Megjött. Első körben hiba sokkal egyszerűbb mint gondoltam, már-már
: a like operátornak minta kell! Helyesen: ... like '%stood%' ... stb.
(Tehát az általad megadott feltételekre nincs illeszkedő sor, ezért volt üres az eredmény!)
A lekérdezésed amúgy véletlenül sem azokat a táblaneveket használja amiket a tesztadatbázisod. -
Jester01
veterán
válasz
Briganti
#932
üzenetére
illeszkedo sorokkal gondolom arra gondoltal
Igen. Viszont ha már az eredeti lekérdezésed sem ad eredményt, akkor a további feltételek belepakolása nem fog segíteni.
szamite a sorrend az AND-knel
Nem. Az a lényeg, hogy minden táblát kapcsolj össze megfelelően, ez úgy látom sikerült a 4., 6. és 7. sorokban. Ezeket szerintem csoportosítsd egy helyre és a szűrések ezután legyenek.
Gondolom van valami kis tesztadatbázisod, ha felrakod valahová a webre (mondjuk script formában) akkor talán többet tudok segíteni. -
Jester01
veterán
válasz
Briganti
#930
üzenetére
Ez így egy ún. inner join aminek csak akkor van eredménye, ha minden táblában van legalább egy illeszkedő sor. Neked van?
Amúgy a lekérdezésedben célszerű lenne a táblákat a megfelelő mezők egyezésével összekapcsolni, pl. az author és quotes tábláknál ez author.author_id = quotes.author_id módon lehetséges. Ha ezt kihagyod, akkor az összes sor kiszorzódik (Descartes szorzat). -
Jester01
veterán
válasz
burgatshow
#846
üzenetére
Én például jobban szeretem a MySQL-ét használni egy lekérdezésben.
Miért? Ha már a php-ben alkalmaznád, akkor még a mysql felé irányuló kommunkációban sem lehetne ellopni a jelszót. -
Jester01
veterán
válasz
Forest_roby
#781
üzenetére
A readfile fuggveny segitsegevel vissza tudsz kuldeni fajlokat. (Hatranya, hogy a megszakadt letoltest alapbol nem tudja folytatni.) A feltoltesre pedig siman hasznalhatsz ftp-t egy olyan mappaba ami nincs kirakva a webre.
-
Jester01
veterán
Szabvány html-t, mondjuk legegyszerûbb formában:
<html><body><pre> ... ide már (majdnem) akármit írhatsz ... </pre></body></html>
A wget az parancssori letöltõ. cmd ablakból add ki, hogy ''wget -O eredmeny.txt http://ahol.a.lapod/van.php'' és akkor lementi az eredmeny.txt fájlba amit visszakap a szervertõl. Utána tetszõleges nézegetõvel belekukkanthatsz. -
-
Jester01
veterán
válasz
paramparya
#652
üzenetére
Ja, úgy hívják, hogy mysql
[link] -
Jester01
veterán
válasz
paramparya
#650
üzenetére
mysql> select 0x616461742d46756c6c2d323030362d392d395f332d312d35;
+----------------------------------------------------+
| 0x616461742d46756c6c2d323030362d392d395f332d312d35 |
+----------------------------------------------------+
| adat-Full-2006-9-9_3-1-5 |
+----------------------------------------------------+
1 row in set (0.07 sec) -
Jester01
veterán
válasz
Realradical
#613
üzenetére
Ugye az oszlop típusa megfelelõ? (vagyis nem 1 hosszú)
-
Jester01
veterán
válasz
paramparya
#529
üzenetére
left join
-
Jester01
veterán
válasz
paramparya
#487
üzenetére
Koncepcionálisan rossz szerintem. Gondolom nem id-t akartál írni, hanem x-et. De akkor meg egyesével le kellene futtatni minden lehetséges értékre. Plusz limitbe szerintem nem lehet al-select, valamint ahogy feljebb említettem mysql nem engedi, hogy az éppen módosított táblára al-select is legyen. Más baja nincs

-
Jester01
veterán
válasz
paramparya
#484
üzenetére
Lehet, hogy elég. Megszokásból írtam, valamelyik adatbáziskezelõ mintha hisztis lenne és mindenképp mezõnév egyezést akar.
-
Jester01
veterán
Azt hiszem ehhez kell egy ideiglenes táblát csinálni ahová kigyûjtöd a törlendõ vagy megmaradó rekordok azonosítóját. Legalábbis nekem most csak ilyen megoldás jut eszembe, mivel a mysql nem hagyja, hogy egy delete parancsban ugyanarra a táblára al-select is legyen.
MOD: Pl.:
create temporary table list (pid int);
insert into list (select min(pid) pid from t group by x);
delete from t where pid not in (select pid from list);
drop table list;
t az eredeti tábla, x a mezõ, pid a kulcs a táblában.
[Szerkesztve] -
Jester01
veterán
válasz
FehérHolló
#404
üzenetére
Igen, az sql az gyorsabb, főleg, ha van rá index is.
Amúgy még ha phpben rendezel is, a buborékot felejtsd el ha a sebesség a fontos. -
Jester01
veterán
válasz
Briganti
#296
üzenetére
Sajnos nem tudtam kibogozni, hogy mit is csináltál pontosan, mindenesetre
mysqlben van AUTO_INCREMENT, ami pont azt csinálja amit szeretnél:
CREATE TABLE T ( id bigint NOT NULL PRIMARY KEY AUTO_INCREMENT, ...)
Az id értékét innentől kezdve nem kell beadni az insertben, azt az adatbáziskezelő automatikusan generálja. -
Jester01
veterán
válasz
VladimirR
#164
üzenetére
hogyan tudok egy tablabol 5 random elemet lekerdezni?
Igy elsőre csak olyan megoldás ugrik be, ami túlzottan erőforrásigényes.
De azért elárulom
SELECT * FROM tabla ORDER BY MD5(CONCAT(NOW(), valami_mező)) LIMIT 5
Kb valami ilyesmi, a pontos szintaxist majd kibogozod, a mysql szerverünk most éppen áll
MOD: formázás
[Szerkesztve]
Aktív témák
- World of Tanks - MMO
- Megtartotta Európában a 7500 mAh-t az Oppo
- ZEN.com
- Kerékpárosok, bringások ide!
- Itt van Elon Musk chat alkalmazása, nem fogod elhinni, mi a neve
- Mégis marad a Windows 10 ingyenes frissítése
- Azonnali fáradt gőzös kérdések órája
- OLED TV topic
- Aweriot: Cloudflare és mi
- Fotók, videók mobillal
- További aktív témák...
- L14 Gen4 14" FHD IPS i5-1335U 16GB 256GB NVMe ujjolv IR kam gar
- MSI Katana 15 HX - 15.6" QHD 165Hz - i7 14650HX - 16GB - 1TB - RTX 5060 - Win11 - 3 év gari - MAGYAR
- Acer Aspire A315-59 15.6" FHD i5-1235U 16GB 512GB NVMe magyar bill gar
- Gamer PC-Számítógép! Csere-Beszámítás! R5 8600G / 6700XT 12GB / 16GB DDR5 / 512 SSD + 2TB HDD!
- iPhone 16 PRO MAX 256GB natúr titán KÁRTYAFÜGGETLEN! Gyönyörű! Akkumlátor 99%! Fulldoboz!
- Eredeti Lenovo 90W szögleges laptop táp + kerek átalakító egyben eladó
- BESZÁMÍTÁS! Sony PlayStation 5 Slim 1TB SSD Lemezes konzol Elite kontrollerrel garanciával hibátlan
- Xiaomi Redmi 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 12 Pro 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3438, 100% Akkumulátor
- Gamer PC-Számítógép! Csere-Beszámítás! I7 12700E / RTX 3060Ti / 32GB DDR4 / 512GB Nvme SSD
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest






Írasd ki a visszakapott sorok számát (mysql_num_rows($eredmeny)) a while ciklus elõtt.






