webForumDet fria alternativet
Logga in / Bli medlem

Select fråga

Databaser & SQL

8 svar · 461 visningar · startad av Flow

Medlem sedan dec. 200283 inlägg
Trådstart#1

Hallå!

Har en tabell som heter messages, i den finns fälten titel och datum. Jag vill ta ut de senaste posterna från det senaste datumet men jag vet inte hur många poster det är eller vilket datum det är.

Har kommit såhär långt: SELECT titel, datum FROM messages ORDER BY datum DESC sen tar det stopp. Någon som har något tips?

mvh
Flow

Medlem sedan juni 200032 967 inlägg
#2

Vilken dbms?
Lagrar du endast datum eller både datum och tid i fältet datum?

Medlem sedan dec. 200283 inlägg
#3

MySQL, endast datum.

mvh
Flow

Medlem sedan dec. 19995 876 inlägg
#4

Läste fel i frågan, läs snabelns inlägg nedan :)

Dock borde du kunna byta ut IN mot =

Medlem sedan juni 200032 967 inlägg
#5

Om man har en version av MySQL som stödjer subqueries skulle jag gjort så här:

SELECT titel, datum FROM messages 
WHERE datum IN (SELECT MAX(datum) FROM messages) 
ORDER BY datum DESC

Mvh

Medlem sedan dec. 200283 inlägg
#6

Hej!

Nope, får det inte att fungera; Check the manual that corresponds to your MySQL server version for the right syntax to use near... Kör MySQL 4.0.24

//Flow

Medlem sedan juni 200032 967 inlägg
#7

Då kör du en väldigt gammal version av MySQL.
Kan du inte uppgradera till åtminstone 4.1, så du kan använda så grundläggande SQL som subqueries?

Medlem sedan dec. 200283 inlägg
#8

Har tyvärr inte möjlighet att uppdatera servern;

Medlem sedan juni 200032 967 inlägg
#9

Då tror jag att jag hade gjort det med två SQL-frågor.

SELECT MAX(datum) AS maxdatum FROM messages
SELECT titel, datum FROM messages WHERE datum = '[i]<datumet_från_fråga_1>[/i]'
256 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)