SELECT DISTINCT əmri ilə düzgün sıralama

$rr = mysql_query ("SELECT DISTINCT `idi` FROM `baza` where `idim` = '".$id."' order by `time` desc LIMIT $o,$do"); for ($i=$ot;$i<=$do;$i++){ $qc = mysql_fetch_array($rr); echo $qc ["idi"]; } Evvelce onu deyim ki adi Select əmri ilə normal sıralayır, gəl DISTINCT əmrinden istifade edendə sıralamanı update olunmuş vaxta görə yox , insert olunan vaxta göre göstərir Biraz açıq yazım ( order by `time` desc LIMIT) əmrinden melum olduqu kimi `time` sətrinde ki ən böyük rəqemden başlayıb kiçiye doğru sıralamalıdır.Böyükden kiçiye doğru sıralayır amma insert edilen vaxta görə , daha sonra update edib böyük bir reqem göndərəndı həmin rəqəmi nəzərə almır. Amma normalda `time` setrine digərlərindən daha böyük rəqəm yazıldıqda üstde görünməlidir

Verilmiş cavablar və yazılan şərhlər (11 cavab var)

E. Hacı (2014-08-22 19:52:28)
Sizə o halda distinct lazım deyil. Bu formatdan istifadə edin vəssalam: [code] select * from (select * from `baza` order by `time` DESC) aa group by `idi` [/code]

E. Hacı (2014-08-22 19:51:07)
Sizə o halda distinct lazım deyil. Bu formatdan istifadə edin vəssalam [code] select * from (select * from `baza` order by `time` DESC) aa group by `idi` [/code]

Messi (2014-08-22 18:51:14)
mötərizeden olan sorğudan məlumatları çəkmeyi soruşuram. Dediyiniz kimi etsem SELECT DISTINCT `idi`, `filan`, `behmen` DISTINCT her 3 setri nezere alıb filtr edir, mene yalniz `idi` setrinin filtr olunması lazımdır

E. Hacı (2014-08-22 17:31:34)
Yalnız idini oxuya bilirsiz çünki select idi yazmısız. SELECT DISTINCT `idi` yanında nə istəsəz yazın. SELECT DISTINCT `idi`, `filan`, `behmen` və.s.

Messi (2014-08-22 16:48:33)
Cox sagolun köməyə görə.. Birde men bu möterizede olan sorgudan melumatları nece çıxarta bilerem?Yeqin ki möterizeye verdiyimiz addan istifade olunur. Ümumiyyetle bele sorgular haqqında etraflı harda oxuya bilerem ? yeni sorgu içinde sorgu ve ona verilen ad. [code] $rr = mysql_query ("SELECT DISTINCT `idi` FROM (select * from `baza` order by `time` DESC) aaa where `idim` = '".$id."' LIMIT $o,$do");[/code] Hal hazırda bu sorğudan yalnız `idi` setrini çıxardıb oxuya bilirem diger setrleri oxumaq olmur

E. Hacı (2014-08-22 15:34:24)
Hmm hə kopyalayanda desc qalıbmış orda artıq. Əsas odur düzdür, işlədi. O mənada dedim ki birbaşa yazdım o həlli, gördüyünüz kimi sorğu içində sorğu ilə olur bu, iki sorğu. Düşündüm ki bəlkə bir sadə sql həlli də var ona görə yazdım ki əlverişli deyil.

Messi (2014-08-22 15:28:47)
Çox sagolun cox kömeyniz deydi. Bele bir syntax sehv gösterdi desc emri ikinci defe ertıq imiş. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc LIMIT 5' at line 1 [code] $rr = mysql_query ("SELECT DISTINCT `idi` FROM (select * from `baza` order by `time` DESC) aaa where `idim` = '".$id."' LIMIT $o,$do");[/code] bu formada yazıldıqda işlədi, amma niye elverişli deyil onu bilmedim melumatları yalnız * from ile oxuduqna göre?çün ki `setr1`,`setr2` from yazıldıqda işlemedi.

E. Hacı (2014-08-22 14:36:04)
Siz yazan kod işləyə bilməz, aaa vacibdir və ya nəsə başqa simvol. Mötərizəni adlandırmaq üçün. phpmyadmində filan baxın niyə işləmədiyini görün dəqiq error ilə və çözün, mən sadəcə ideyanı verdim

Messi (2014-08-22 14:29:39)
[code]$rr = mysql_query ("SELECT DISTINCT `idi` FROM (select * from `baza` order by `time` DESC) where `idim` = '".$id."' desc LIMIT $o,$do"); [/code] bele bir kod ile ümümiyyətlə MySQL -dan məlumatları oxumur orda `aaa` nə dəmək idi ?

E. Hacı (2014-08-22 11:18:41)
Bu variantı da yoxlayın, çox əlverişli yol olmasa da işinizi görər: [code] SELECT DISTINCT `idi` FROM (select * from `baza` order by `time` DESC) aaa where `idim` = '".$id."' desc LIMIT $o,$do [/code]

Messi (2014-08-21 20:10:16)
Men burada düzgün sıralamaq üçün ne etmeliyem?

Mövzu üzrə bənzər suallara da baxa bilərsiniz.

php query

VPS + php5.2

Saytda axtarış zamanı Azərbaycan dili ilə bağlı problem yaranır

phpdə pdf faylların içindəki yazılara görə axtarış

PHP optimization

php: tags sistemi