[ Príspevkov: 13 ] 
AutorSpráva
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
mysql: COUNT

Registrovaný: 01.05.05
Príspevky: 13557
Témy: 1483 | 1483
Bydlisko: Bratislava
NapísalOffline : 16.10.2014 7:47 | mysql: COUNT

Potreboval by som pomoct, uz sa s tym trapim a netusim ako na to, v databaze mam ulozene GPS suradnice a podla nich robim vyber miest v zadanom okruhu co je v tomto pripade 10. Chcel by som ale vypisat len pocet riadkov cez COUNT, ale to je asi uz mimo moje chapanie, ci to vobec ide...vedel by mi niekto pomoct? Ano viem, ze si ten pocet mozem zobrazit cez php funkciu, ale chcel by som aby to spravila mysql databaza a setril som tym cas.

Kód:
SELECT id, (6371 * acos(cos(radians(48...)) * cos(radians(latitude)) * cos(radians(longitude) - radians(21...)) + sin(radians(48...)) * sin(radians(latitude)))) AS distance
FROM city HAVING distance < 10 ORDER BY distance


_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X1 Carbon | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA & Samsung SSD 860 1 TB | Ubuntu 24.04 LTS | Dell Wyse 3040 | Intel Atom x5-Z8350 | 2 GB DDR3 1600 MHz | 16 GB eMMC | 24" EIZO FlexScan EV2451 | Alpine Linux + XFCE4
Offline

Skúsený užívateľ
Skúsený užívateľ
mysql: COUNT

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 16.10.2014 11:47 | mysql: COUNT

Skus toto
Kód:
SELECT count(*)
FROM city
WHERE (6371 * acos(cos(radians(48...)) * cos(radians(latitude)) * cos(radians(longitude) - radians(21...)) + sin(radians(48...)) * sin(radians(latitude)))) < 10


Namiesto HAVING som pouzil WHERE, lebo neviem naco tam HAVING mas :)
Na "normalnej" databaze by ti tvoj vyber ani nezbehol


_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
mysql: COUNT

Registrovaný: 01.05.05
Príspevky: 13557
Témy: 1483 | 1483
Bydlisko: Bratislava
Napísal autor témyOffline : 16.10.2014 19:23 | mysql: COUNT

ok vdaka, ja som to skusal podobne a nikdy mi to neslo, ale asi som siel na to dobre, len ten cas za to mohol zjavne :) skusil som ten select na hostingu na mariadb 5.5 a presiel bez chyb, co je na nom zle? alebo vies nejak lepsie ako spravim vyber podla gps?


_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X1 Carbon | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA & Samsung SSD 860 1 TB | Ubuntu 24.04 LTS | Dell Wyse 3040 | Intel Atom x5-Z8350 | 2 GB DDR3 1600 MHz | 16 GB eMMC | 24" EIZO FlexScan EV2451 | Alpine Linux + XFCE4
Offline

Správca fóra
Správca fóra
mysql: COUNT

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 17.10.2014 7:16 | mysql: COUNT

Radsej by si mal ten select optimalizovat, lebo najskor vypocitas kazdemu riadku v tabulke vzdialenost od daneho bodu a potom vyberies cez having len tie, ktore maju zistenu vzdialenost mensiu ako 10. Pri vacsom objeme dat ti to bude trvat strasne dlho. Rychlejsie by bolo dopredu vypocitat hodnoty hranicnych suradnic, na zaklade tohto rozsahu vybrat vyhovujuce data z tabulky a vyfiltrovat tie, ktorych vzdialenost je mensia ako 10. Vyuzitie indexov je dalsie plus...


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Skúsený užívateľ
Skúsený užívateľ
mysql: COUNT

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 17.10.2014 9:06 | mysql: COUNT

"zle" je len to, ze HAVING je urceny na pracu s agregovanymi funkciami, ktore ty v tom vybere nepouzivas... to je take specifikum mysql (a zrejme aj mariadb o ktorej pocujem prvy krat), ze ti dovolia HAVING bez agregovanych funkcii a GROUP BY

ale k teme :) stenley ma pravdu, tak ako je ten vyber napisany databaza nema ziadnu sancu pouzit index. inymi slovami, databaza musi vzdy prejst uplne vsetky zaznamy v tabulke. cim viac dat v nej bude, tym dlhsie vybe rbude trvat (bez ohladu na to aku malu vzdialenost budes hladat)


_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Správca fóra
Správca fóra
mysql: COUNT

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 17.10.2014 10:18 | mysql: COUNT

Ak taketo "nestandardne" standardne rozsirenie mysql sprehladni zapis (podobne ako pri "nestandardnom" pouziti aliasov) alebo zvysi vykon pri zachovani rovnakeho vystupu, nevidim v tom ziadny problem, skor naopak.


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Skúsený užívateľ
Skúsený užívateľ
mysql: COUNT

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 17.10.2014 11:39 | mysql: COUNT

nechcem sa hadat... aliasy povazujem za standard :) su podporovane hadam vsade (preto tomu hovorim standard).

ale pouzivanie having-u a group-u tymto sposobom (ako sme sa uz dohadovali v inej teme) ja osobne povazujem za podobne "skarede" a nevhodne ako pouzivanie register_globals... funguje to, zjednodusuje to veci ale... :filth:


_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Správca fóra
Správca fóra
mysql: COUNT

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 17.10.2014 12:40 | mysql: COUNT

Aliasy su podporovane asi v kazdom dbs, ale nie rovnakym sposobom, to som tym myslel. V mysql a dalsich mozes napr. v group by rovno pouzit alias uvedeny v selecte, inde musis oproti tomu zlozito pouzit select from select. Kazdy system ma svoje specifika a pouziva rozne odchylky, ci nazvime to rozsirenia, oproti standardu. Kvoli tomu to ale nebudem povazovat za nieco zle. Ak v tom vidim viac pozitiv ako negativ, pouzijem to ako vyhodu, ale dbam o to, aby som pripadne negativa zredukoval, alebo uplne anuloval.


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
mysql: COUNT

Registrovaný: 01.05.05
Príspevky: 13557
Témy: 1483 | 1483
Bydlisko: Bratislava
Napísal autor témyOffline : 17.10.2014 12:45 | mysql: COUNT

stenley píše:
Radsej by si mal ten select optimalizovat, lebo najskor vypocitas kazdemu riadku v tabulke vzdialenost od daneho bodu a potom vyberies cez having len tie, ktore maju zistenu vzdialenost mensiu ako 10. Pri vacsom objeme dat ti to bude trvat strasne dlho. Rychlejsie by bolo dopredu vypocitat hodnoty hranicnych suradnic, na zaklade tohto rozsahu vybrat vyhovujuce data z tabulky a vyfiltrovat tie, ktorych vzdialenost je mensia ako 10. Vyuzitie indexov je dalsie plus...

vdaka, ale toto je uz asi moc vysoka matika na mna :) netusim vobec ako take cosi spravit, alebo som asi tomu moc nepochopil...ja mam v danej tabulke len 2900 riadkov a casom mi tam pribudne este asi okolo 5000 (netusim presne kolko ma obci ceska republika) a viac riadkov v tej tabulke nebude, ma aj tak vyznam sa tym zapodievat? jedine co ma napadlo na rychly vyber je vypocitat vzdialenost kazdeho mesta ku kazdemu mestu co tam mam, ale to by tam bolo pekne vela zaznamov :)


_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X1 Carbon | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA & Samsung SSD 860 1 TB | Ubuntu 24.04 LTS | Dell Wyse 3040 | Intel Atom x5-Z8350 | 2 GB DDR3 1600 MHz | 16 GB eMMC | 24" EIZO FlexScan EV2451 | Alpine Linux + XFCE4
Offline

Správca fóra
Správca fóra
mysql: COUNT

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 17.10.2014 12:59 | mysql: COUNT

Tuto to mas celkom prehladne vysvetlene https://www.scribd.com/doc/2569355/Geo- ... with-MySQL - je to sice pocitane v milach, ale prevod na km by nemal byt problem


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
mysql: COUNT

Registrovaný: 01.05.05
Príspevky: 13557
Témy: 1483 | 1483
Bydlisko: Bratislava
Napísal autor témyOffline : 17.10.2014 13:12 | mysql: COUNT

Ok vdaka, pozriem na to, snad to nebude pre mna uplna spanielska dedina :rolleyes: len co si to len tak narychlo prezeram, tak tam maju tabulku s 800k riadkami, ja v tej tabulke nebudem mat ani 1% z ich tabulky, ma vobec vyznam sa tym zaoberat? skusil som dat index na stlpce so suradnicami a vyber sa mi zrychlil z 0.0050sec na 0,0000sec, tak len ze ci ma vobec vyznam sa pri takom malom pocte tymto zaoberat, resp zaoberat sa aspon v mojom pripade mozno aj cely vikend :-D


_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X1 Carbon | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA & Samsung SSD 860 1 TB | Ubuntu 24.04 LTS | Dell Wyse 3040 | Intel Atom x5-Z8350 | 2 GB DDR3 1600 MHz | 16 GB eMMC | 24" EIZO FlexScan EV2451 | Alpine Linux + XFCE4
Offline

Skúsený užívateľ
Skúsený užívateľ
mysql: COUNT

Registrovaný: 29.10.07
Prihlásený: 27.10.23
Príspevky: 1395
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 17.10.2014 13:16 | mysql: COUNT

Nema, ale daj tam komentar :) Nieco ako "toto riesenie si mozem dovolit, lebo mam radovo iba tisice zaznamov"... ak ten kod raz najdu buduce generacie, alebo mimozemstania, budu vediet ze by nemali pouzit rovnaky postup na miliony zaznamov.


_________________
PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
mysql: COUNT

Registrovaný: 01.05.05
Príspevky: 13557
Témy: 1483 | 1483
Bydlisko: Bratislava
Napísal autor témyOffline : 17.10.2014 13:52 | mysql: COUNT

Importoval som si to vsetko na webhosting a tam to tiez ide rychlo, takze sa tym asi fakt nema vyznam zatazovat, otazka je ake to bude ak by tam bola vyssia navstevnost ci to nebude vytazovat casom moc databazu, do tohoto sa moc nevyznam veru, tak skusim mrknut aj na to stenleyho riesenie, ci to vobec spravim :-) ked chce niekto vyskusat tak http://www.qlp.sk meno: jano@qlp.sk a heslo: 12345 ale podla mna to generuje celkom rychlo, najprv tam robim vyber z tabulky s mestami podla vzdialenosti, tento vyber vlozim do dalsieho selectu ktorym vyfiltrujem osoby ktore splnaju vsetky tie vybrane mesta, neviem ci idem na to dobre a ci sa to neda nejak efektivnejsie spravit...


_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X1 Carbon | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA & Samsung SSD 860 1 TB | Ubuntu 24.04 LTS | Dell Wyse 3040 | Intel Atom x5-Z8350 | 2 GB DDR3 1600 MHz | 16 GB eMMC | 24" EIZO FlexScan EV2451 | Alpine Linux + XFCE4
 [ Príspevkov: 13 ] 


mysql: COUNT



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Rellocated sector count, Spin retry count problem

v Pevné disky a radiče

4

1525

25.11.2009 16:01

kuzelnik

V tomto fóre nie sú ďalšie neprečítané témy.

COUNT

v Databázy

21

639

16.04.2014 20:48

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

count up

v Frontend

10

1008

12.01.2008 21:20

jablko05

V tomto fóre nie sú ďalšie neprečítané témy.

PM Count

v CMS

0

619

14.10.2006 15:06

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

fb:comments-count

v Backend

6

476

16.12.2013 23:38

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Column count .... help

v Backend

10

583

09.07.2008 11:13

javo

V tomto fóre nie sú ďalšie neprečítané témy.

SMART - Reallocated Sector Count

v Pevné disky a radiče

9

861

13.01.2013 21:09

BOBO415

V tomto fóre nie sú ďalšie neprečítané témy.

Current Pending Sector Count - HDD

v Pevné disky a radiče

4

606

05.05.2016 17:59

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

XSL count na zaklade podmienky

v Frontend

0

478

03.02.2010 17:07

kudzo

V tomto fóre nie sú ďalšie neprečítané témy.

Column count doesn't match

v Databázy

2

890

17.07.2010 19:47

Feko

V tomto fóre nie sú ďalšie neprečítané témy.

Reallocated Sector (Event) Count: warning

v Pevné disky a radiče

18

988

27.11.2016 18:52

tatko Tom

V tomto fóre nie sú ďalšie neprečítané témy.

post view count pod postom

v CMS

10

634

09.10.2013 15:36

don jebot

V tomto fóre nie sú ďalšie neprečítané témy.

HDD (0B) Calibration Retry Count

v Pevné disky a radiče

12

1352

16.07.2012 11:36

kamo_444

V tomto fóre nie sú ďalšie neprečítané témy.

Návrh - Post count disabled here

v Oznámenia a návrhy

5

1398

22.05.2008 21:22

Luks

V tomto fóre nie sú ďalšie neprečítané témy.

problem s hdd (Rellocated Sector Count - Failed)

v Pevné disky a radiče

5

1008

19.12.2008 18:33

Holup

V tomto fóre nie sú ďalšie neprečítané témy.

phpBB - Forum Auth by Post Count - 3D PM box_size_notice

v CMS

0

8384

13.10.2006 9:03

JanoF



© 2005 - 2026 PCforum, edited by JanoF