- Karácsonyfaként világíthat a Thermaltake új CPU-hűtője
- Az USA vizsgálja a RISC-V kínai terjedésének kockázatát
- Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
- Egészen nagy teljesítményspektrumon fedné le a mobil piacot az AMD
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- Telekom TV SmartBox: szolgáltatói set-top box alacsony korlátokkal
- AMD Navi Radeon™ RX 7xxx sorozat
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Vezetékes FEJhallgatók
- Nem indul és mi a baja a gépemnek topik
- AMD GPU-k jövője - amit tudni vélünk
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Autóhifi
- Milyen asztali (teljes vagy fél-) gépet vegyek?
Hirdetés
-
Spyra: akkus, nagynyomású, automata vízipuska
lo Type-C port, egy töltéssel 2200 lövés, több, mint 2 kg-os súly, automata víz felszívás... Start the epic! :)
-
Konzolokra is megjelenik a Fera: The Sundered Tribe
gp A kooperatív szörnyvadászós játékhoz a minap egy friss trailert kaptunk.
-
Az Apple iPadOS-t is megrendszabályozza az EU
it Az EB közölte: az Apple iPad táblagépekre írt iPadOS rendszere is kapuőrnek számít, az üzleti felhasználókra gyakorolt fontossága miatt.
Új hozzászólás Aktív témák
-
laracroft
aktív tag
Sziasztok!
Már napok óta gyűrkőzöm egy MySQL lekérdezéssel, de sehogyan sem jutok dűlőre, hátha valaki tud nekem segíteni
Adott két tábla, naplo_teszt és ugyfel.
Szeretném legyűjteni azon ügyfeleinket, akiknek a megadott időintervallumban és feltételek mellett nem voltak bejegyzéseik a naplóban. Egy ügyfelet egyértelműen 2 mező azonosít, az "ACCOUNT" és a "LINE".
Sajnos az ACCOUNT és LINE karakteres, ezért kell átalakítanom numerikussá.Azt szerettem volna elérni, hogy a Összes ügyfélből kivonom a megadott időintervallumban lévőket, de nem ment.
Ezzel a lekérdezéssel próbálkoztam legutóbb, de ez is beégett, üres halmazt kaptam rá eredményként
SELECT CAST(UGYFEL.ACCOUNT AS UNSIGNED) AS ÜGYFSZ,
CAST(UGYFEL.LINE AS UNSIGNED) AS VONAL
FROM UGYFEL WHERE NOT EXISTS (
SELECT CAST(UGYFEL.ACCOUNT AS UNSIGNED) AS ÜGYFSZ,
CAST(UGYFEL.LINE AS UNSIGNED) AS VONAL,
UGYFEL.NAME1 AS NÉV,
UGYFEL.ALLAPOT AS ÁLLAPOT,
UGYFEL.ADDRESS1 AS VÁROS,
UGYFEL.ADDRESS2 AS CÍM,
UGYFEL.ADDRESS3 AS IRSZÁM
FROM UGYFEL LEFT JOIN NAPLO_TESZT
ON UGYFEL.ACCOUNT = NAPLO_TESZT.ACCOUNT AND
UGYFEL.LINE = NAPLO_TESZT.LINE
WHERE NAPLO_TESZT.IDO > "2011-06-08 00:00:00" AND
NAPLO_TESZT.IDO < "2011-06-10 00:00:00" AND
UGYFEL.ALLAPOT="A"
GROUP BY UGYFEL.ACCOUNT
ORDER BY ÁLLAPOT, VONAL, ÜGYFSZ)Mit ronthattam el? Rossz az elgondolásom?
Előre is köszönöm a válaszokat!üdv:
nzoli[ Szerkesztve ]
-
laracroft
aktív tag
Köszönöm mindenkinek a hozzásszólást, sikerült elérnetek azt amit szerettem volna
Igyekszem megfogadni tanácsotokat, mind a szintaxis, mind az elgondolások terén!
Sajnos nem vagyok programozó, csak mindenhavi "szükségleteimet" próbálom könnyíteni eme nagyszerű programnyelv segítségével
(ez lehet így túl nyálas lett )még1szer köszönöm mindenkinek!!
üdv:
nzoli[ Szerkesztve ]
-
laracroft
aktív tag
Sziasztok!
Van egy lekérdezésem, amit bizonyos időközönként le kell futtatnom:
select * from NAPLO where LEIRAS like "%10-es%" and IDO between "2012-11-01" and "2012-11-25"
select * from NAPLO where LEIRAS like "%20-as%" and IDO between "2012-11-01" and "2012-11-25"... és így tovább 100-ig.
Igazából arra vagyok kíváncsi, hogy a megadott időintervallumban hány darab ilyen esemény volt.
Ezt egyenlőre csak 10 különálló lekérdezéssel tudom megoldani.Valahogy egyszerre szeretném lefuttatni a lekérdezést úgy, hogy ehhez hasonló eredményt kapjak:
10-es eset : 500 db
20-as eset: 4002 db
30-as eset: 102 db
...előre is köszi!
-
laracroft
aktív tag
válasz Apollo17hu #995 üzenetére
Köszi a válaszokat és a helyesírási tanácsot is
-
laracroft
aktív tag
Sziasztok!
Előre is bocs, ha nem egyértelmű mit szeretnék, de próbálok világosan fogalmazni
Van egy NAPLO táblám, aminek a LEIRAS mezőjében szeretném megszámolni hányszor szerepel ez a 2 szó: Helyszínen és Leellenõrizve.
A ügyfelet egyértelműen az ACCOUNT és a LINE mező azonosítja. Az IDO mező datetime típusú.
1 bejegyzésben csak az egyik szó szerepelhet, de előfordulhat, hogy egymás utáni bejegyzésekben szerepel a 2 szó ugyanannál az ügyfélnél.Feltétel:
Ha mindkét szó szerepel egy ügyfélnél, akkor nézze meg, hogy a két bejegyzés között eltelt idő több-e mint 15 perc.
Ha igen számolja 2-nek,
ha nem -tehát a 2 bejegyzés között kevesebb mint 15 perc van- akkor csak 1-nek.Ezzel próbálkoztam, de syntax error-okba futok
select ACCOUNT, LINE, IDO, LEIRAS
from (
(select ACCOUNT, LINE, IDO, LEIRAS
from NAPLO
where a.LEIRAS like '%Helyszínen%') as a
union
(select ACCOUNT, LINE, IDO, LEIRAS
from NAPLO
where b.LEIRAS like '%Leellenõrizve%') as b
)
where if(a.ACCOUNT = b.ACCOUNT and a.LINE = b.LINE) then timestampdiff(minute, a.IDO, b.IDO) > 15
group by ACCOUNTelőre is köszi!
[ Szerkesztve ]
-
laracroft
aktív tag
Köszönöm a sok hozzászólást, remélni sem tudtam, hogy ennyi segítséget kapok!
Próbálom őket!
Köszönöm! -
laracroft
aktív tag
Sziasztok!
Meg szeretném számolni, hogy kinek van a legtöbb bejegyzése a naplo táblában.
Számomra az bonyolítja a helyzetet, hogy egy ügyfelet nem egyértelműen határozza meg az "account", kell neki a "line" mező is! Ha a count(account)-ot használom az nem jó, mert beleszámol olyat is akinek más a "line" mezője.
Pl létezik ilyen az adatbázisban hogy:
account=1855 line=3
Értéke: Béla
account=1855 line=1
Értéke: JaniSELECT ugyfel.account AS account,
ugyfel.line AS line,
ugyfel.name1 AS name,
ugyfel.address3 AS irszam,
ugyfel.address1 AS varos,
ugyfel.address2 AS utca,
COUNT(ugyfel.account) AS darab
FROM ugyfel, naplo
WHERE naplo.account = ugyfel.account AND naplo.line = ugyfel.line AND ugyfel.name1 NOT LIKE "%teszt%"
GROUP BY account,line
ORDER BY darab DESCelőre is köszi!
-
laracroft
aktív tag
válasz Apollo17hu #1039 üzenetére
Szia!
Köszönöm kimerítő válaszod!
Egyenlőre syntax error-t kapok a:COUNT(*) over (PARTITION BY ugyfel.account, ugyfel.line) AS darab
FROM ugyfel, naplokód környékére... Átnéztem a mysql ezen parancsára vonatkozó szintaxist, de szerintem ennek jónak kéne lenni. Tanácsodra elhagytam az order by parancsot is, de nincs változás...
vmi ötlet? -
laracroft
aktív tag
válasz Peter Kiss #1061 üzenetére
Jaja ezt olvastam, de továbbra sem értem mi a különbség a count(*) és a count(1) között...
my fault
-
laracroft
aktív tag
Sziasztok!
Szükségem lenne a 2 lekérdezés darabszámaira külön-külön (darab1 és darab2), de mindenképpen csak 1 lekérdezést szeretnék használni.
SELECT UGYFEL.ACCOUNT AS account,
UGYFEL.LINE AS line,
NAPLO.IDO AS ido,
NAPLO.LEIRAS AS leiras,
COUNT(1) AS darab1
FROM UGYFEL,
NAPLO
WHERE NAPLO.ACCOUNT = UGYFEL.ACCOUNT
AND NAPLO.LINE = UGYFEL.LINE
AND leiras LIKE '%valami%'
GROUP BY account,
line
ORDER BY darab1 DESC,
line ASCSELECT UGYFEL.ACCOUNT AS account,
UGYFEL.LINE AS line,
NAPLO.IDO AS ido,
NAPLO.LEIRAS AS leiras,
COUNT(1) AS darab2
FROM UGYFEL,
NAPLO
WHERE NAPLO.ACCOUNT = UGYFEL.ACCOUNT
AND NAPLO.LINE = UGYFEL.LINE
AND leiras LIKE '%valami%'
AND ido LIKE "2013-05%"
GROUP BY account,
line
ORDER BY darab2 DESC,
line ASCElőre is köszönöm!
[ Szerkesztve ]
-
laracroft
aktív tag
válasz fordfairlane #1220 üzenetére
Szia!
Weblapon szeretném megjeleníteni mind a 2 értéket egyszerre!
A Union-ra én is rátaláltam, de azt nem ajánlották... -
laracroft
aktív tag
válasz fordfairlane #1222 üzenetére
Igen de bazi hosszú volt és gondoltam hátha van egy megoldás, ami esetleg gyorsabb és csak 1 lekérdezés...
-
laracroft
aktív tag
-
laracroft
aktív tag
Sziasztok!
Kezdő mysql-es vagyok, és nem jövök rá, hogyan tudnám megvalósítani a lekérdezésemVan egy ilyen adatbázisom!
id,account,line,date,code
1,1000,1,2015-03-20,ABC
2,1000,1,2015-03-21,AAB
3,1000,1,2015-03-22,ABB
4,1000,1,2015-03-23,AAB
5,1000,1,2015-03-24,ABB
6,1000,1,2015-03-25,ABCAmit el szeretnék érni:
Szeretném megtudni mikor volt a legutolsó ABC, ABB, AAB stb.A code mező 20 féle értéket vehet fel.
Az adatbázis cirka 800 000 rekordot tartalmaz!Előre is köszönöm a válaszokat!
-
laracroft
aktív tag
Sziasztok!
Van egy ilyen adatbázisom!id,account,line,date,code
1,1000,1,2015-03-20,in
2,1000,1,2015-03-21,up
3,1001,1,2015-03-22,in
4,1001,1,2015-03-23,out
5,1002,1,2015-03-24,other
6,1001,1,2015-03-24,out
7,1002,1,2015-03-25,in
8,1002,1,2015-03-25,in
9,1003,1,2015-03-25,out
10,1004,1,2015-03-25,in
11,1004,1,2015-03-25,other
12,1004,1,2015-03-25,other2
13,1003,1,2015-03-25,in
14,1005,1,2015-03-25,in
15,1005,1,2015-03-25,out
16,1004,1,2015-03-25,out
17,1004,1,2015-03-26,other
18,1004,1,2015-03-26,down
19,1006,1,2015-03-27,up
20,1004,1,2015-03-28,up
21,1004,1,2015-03-28,other2
22,1000,1,2015-03-29,up
23,1006,1,2015-03-30,downVannak benne páros jelek is, mint pl:
in-out
up-downadott account mellett az in után out-nak kell jönnie, az up után down-nak.
Ez sajnos nem teljesen így van, néha keverednek a dolgok és pl 2db out jön egymás után!Azt szeretném megállapítani, hogy mely account-ok nem működnek helyesen, melyeknél van az, hogy nem out jött in után és nem down jött up után!
Előre is köszönöm, remélem érthető volt!
-
laracroft
aktív tag
Sziasztok!
Van egy COMP táblám, amiben van 16 db ZONE mező.
Ezek némelyike ki van töltve, némelyike nincs. Van hogy csak pl. a 2,5,6,8,10-es ZONE van kitöltve, van hogy mindegyik, van hogy egyik sem.
Keresem azon ügyfeleket, akiknek zónalistájában szerepel a "PROC" szó és a kitöltött zónák száma kevesebb 5-nél.
Na ez a kitöltött zónák száma kevesebb 5-nél kifogott rajtam.
Tudnátok segíteni?Előre is köszi!
SELECT
UGYFEL.LINE AS VONAL,
UGYFEL.COMPSZAM AS COMPSZAM,
UGYFEL.NAME1 AS NEV,
UGYFEL.ADDRESS3 AS IRSZAM,
UGYFEL.ADDRESS1 AS VAROS,
UGYFEL.ADDRESS2 AS UTCA
from UGYFEL
LEFT JOIN COMP
ON UGYFEL.LINE = COMP.LINE
where
(COMP.ZONE1 LIKE "%PROC%"
or COMP.ZONE2 LIKE "%PROC%"
or COMP.ZONE3 LIKE "%PROC%"
or COMP.ZONE4 LIKE "%PROC%"
or COMP.ZONE5 LIKE "%PROC%"
or COMP.ZONE6 LIKE "%PROC%"
or COMP.ZONE7 LIKE "%PROC%"
or COMP.ZONE8 LIKE "%PROC%"
or COMP.ZONE9 LIKE "%PROC%"
or COMP.ZONE10 LIKE "%PROC%"
or COMP.ZONE11 LIKE "%PROC%"
or COMP.ZONE12 LIKE "%PROC%"
or COMP.ZONE13 LIKE "%PROC%"
or COMP.ZONE14 LIKE "%PROC%"
or COMP.ZONE15 LIKE "%PROC%"
or COMP.ZONE16 LIKE "%PROC%")
order by VONAL -
laracroft
aktív tag
válasz Peter Kiss #1778 üzenetére
~15000
-
laracroft
aktív tag
válasz Apollo17hu #1777 üzenetére
Köszi kipróbálom
-
laracroft
aktív tag
válasz Apollo17hu #1777 üzenetére
Szia!
Kipróbáltam a kódot, de sajnos nem tűnik jónak
Olyan rekordokat is kiad, amelyeknek több mint 5 zónájuk is ki van töltve.
Közben rájöttem, hogy nem voltam teljesen korrekt a feladat leírásában sem, bocsánat.Azon rekordokat keresem, akinek a COMP táblájának ZONE1-ZONE16 mezőjeiben szerepel a PROC szó ÉS a 16 zónából 5-nél kevesebb mezőben van egyáltalán valamilyen érték (Nem csak PROC szó szerepelhet a mezőkben)
Így nézett ki most a lekérdezés: (Így gondoltad?)
SELECT
UGYFEL.LINE AS VONAL,
UGYFEL.COMPSZAM AS COMPSZAM,
UGYFEL.NAME1 AS NEV,
UGYFEL.ADDRESS3 AS IRSZAM,
UGYFEL.ADDRESS1 AS VAROS,
UGYFEL.ADDRESS2 AS UTCA
from UGYFEL
LEFT JOIN COMP
ON UGYFEL.LINE = COMP.LINE
where
CASE WHEN COMP.ZONE1 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE2 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE3 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE4 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE5 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE6 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE7 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE8 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE9 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE10 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE11 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE12 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE13 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE14 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE15 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE16 LIKE "%PROC%" THEN 1 ELSE 0 END < 5)
order by VONAL -
laracroft
aktív tag
Sziasztok,
van egy ILYEN táblám.
Hogyan tudnám megtudni Hát Izsák utolsó 2 bejelentkezése között eltelt időt?Előre is kösz a válaszokat
-
laracroft
aktív tag
válasz Apollo17hu #2002 üzenetére
Köszönöm a gyors választ
Értem a lényeget, de sajnos az egymásba ágyazott szintaktikához is elég koki vagyok
Amit elértem az csupán az, hogy sorrendbe tudtam rakni a rekordokat úgy, hogy lássam melyik rekordot kell kivonnom (1.) melyikből (2.) .SET @sor_szam = 0;
select ACCOUNT,DATETIME, (@sor_szam:=@sor_szam + 1) AS num from NAPLO
where ACCOUNT='2801'
ORDER BY DATETIME descErre kérnék még tőletek segítséget.
köszi[ Szerkesztve ]
-
laracroft
aktív tag
Sziasztok
Van egy táblám, ami tele van különböző autók különböző GPS koordináta párjaival.
Szeretném megtudni, hogy az adott rendszámú autó mennyi utat tett meg az előző helyzete óta.| accountID | deviceID | date | latitude | longitude | distance |
| --------- | -------- | ------------------- | ------------ | ------------ | ---------- |
| nev | ABC123 | 2019-11-05 00:05:00 | 47.520246667 | 19.058816661 | 0 |
| nev | ABC456 | 2019-11-07 00:05:00 | 47.886514112 | 19.639852321 | 0 |
| nev | ABC789 | 2019-11-09 00:05:00 | 47.412351221 | 19.856214785 | 0 |
| nev | ABC123 | 2019-11-11 00:05:00 | 47.365985254 | 19.652321452 | 0 |
| nev | ABC456 | 2019-11-13 00:05:00 | 47.755652221 | 19.322152152 | 0 |
| nev | ABC789 | 2019-11-15 00:05:00 | 47.632565899 | 19.745555545 | 0 |
| nev | ABC123 | 2019-11-17 00:05:00 | 47.520246667 | 19.058816661 | 0 |
| nev | ABC456 | 2019-11-18 00:05:00 | 47.886514112 | 19.639852321 | 0 |
| nev | ABC789 | 2019-11-19 00:05:00 | 47.412351221 | 19.856214785 | 0 |
| nev | ABC123 | 2019-11-20 00:05:00 | 47.365985254 | 19.652321452 | 0 |
| nev | ABC456 | 2019-11-21 00:05:00 | 47.755652221 | 19.322152152 | 0 |
| nev | ABC789 | 2019-11-22 00:05:00 | 47.632565899 | 19.745555545 | 0 |Igazából nem a matekra, hanem arra lennék kíváncsi, hogy hogyan tudnám neki megadni a számoláshoz szükséges lat1, lon1 és lat2, lon2 párokat.
Előre is köszi
-
laracroft
aktív tag
válasz martonx #2080 üzenetére
Örök hálám a megoldásodért, de szégyellve magam újabb kérdést tennék fel.
A megoldásod segítségével sikerült a koordinátapárok között megtett távolságot kiszámolnom és jelenleg ITT tartok kb.
Az odometer mezőben szeretném látni az autó által addig megtett utat. (addigi distanceKM értékek összeadása)
Ezt hogyan tudnám megtenni?
Előre is köszönöm -
laracroft
aktív tag
-
laracroft
aktív tag
Sziasztok
Frissíteni szeretném a TABLE1 táblában lévő értékeket a TABLE2 táblában lévő értékekkel. Az alábbi kódot használva syntax error-t kapok.
Mit rontok el?UPDATE
T1
SET
T1.name = T2.name,
T1.address = T2.address,
T1.age = T2.age
FROM
TABLE1 AS T1
INNER JOIN
TABLE2 AS T2
ON
T1.id = T2.id
AND
T1.timestamp = T2.timestamp
WHERE
T2.timestamp > '1572566400'Köszi
-
laracroft
aktív tag
Sziasztok
Van egy ilyen MySQL táblám.
Az id a primary key és auto increment.
Azt szeretném elérni, hogy ha új a rekord, akkor insert, ha létező, akkor update legyen.
Hogyan kéne a táblát beállítanom ahhoz, hogy a uniq_id-n belül ne fogadjon el már létező number rekordot (ekkor legyen update).
Egy ilyen paranccsal próbálkozok, de sosem update-el, mindig csak hozzáadja:INSERT INTO table (uniq_id, date, number)
VALUES(acd0e7f0f6e2e6d5968f84d8fcb307b0, date=NOW(),3)
ON DUPLICATE KEY UPDATE number = 3;
Bocsánat, ha nem jól fogalmaztam
Előre is köszi[ Szerkesztve ]
-
laracroft
aktív tag
Sziasztok
Van egy tábla, amiben van egy számokat tartalmazó oszlop.
Ide szabadon választott számok kerülnek be 1 és 100 között (szerepelhet többször is).
Azt szeretném lekérdezni, hogy - a megadott lehetőségek közül - mely számokat nem írták még be?
Ezzel a paranccsal derült ki, hogy nincs köztük 100 db szám:select count(id) from naplo where id between 1 and 100
Remélem jól fogalmaztam
előre is köszi -
laracroft
aktív tag
Sziasztok
egy kis segítséget szeretnék kérni.
Itt EZ a tábla (datas).
A line és az account mező határoz meg egyértelműen egy ügyfelet.
A name mező az ügyfél értesítendője.
Keresem azokat az ügyfeleket (line+account), akiknek egyik name mezőjéhez sem tartozik email cím.
Jelen esetben nálam ezek a 4-1000 és 7-1000.
előre is köszi -
laracroft
aktív tag
válasz Fire/SOUL/CD #2217 üzenetére
Köszi a választ és hogy foglalkoztál vele, végül ez lett a megoldás:
SELECT DISTINCT CONCAT(line, '-', account)
FROM customer
WHERE CONAT(line, '-', account) NOT IN
(SELECT CONCAT(line, '-', account)
FROM customer WHERE email LIKE '%@%');
[ Szerkesztve ]