webForumDet fria alternativet

Hämta ett fält 1 gång

ASP

4 svar · 196 visningar · startad av Skarre

Medlem sedan apr. 20012 427 inlägg
Frågan#1

Jag jobbar på ett nyhetsarkiv där jag ska lista alla årtal under vilka det finns nyheter i databasen.

Jag har inte koden på den här datorn, men SQL-frågan ser ut ungefär så här:

SELECT Datum FROM Nyheter WHERE Datum < #" & DateAdd("d", -1, CDate(Year(Date) & "-01-01")) & "#"

När jag sedan loopar ut årtalen listas ett årtal ut lika många gånger som det finns nyheter från det året (logiskt). Måste jag fixa detta i koden när jag loopar eller går det att ordna i SQL-frågan?

------------------
// Skarre

Medlem sedan juni 20019 024 inlägg
#2

Access/MSSQL: SELECT TOP 1 Datum ...

MySQL: SELECT Datum ... LIMIT 1
(limit på slutet)

------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."

Medlem sedan apr. 20012 427 inlägg
#3

Tackar! Ibland ser man inte skogen...

------------------
// Skarre

Medlem sedan dec. 200012 464 inlägg
#4

Hur skulle top hjälpa i detta fall?

select distinct year(datum) from nyheter where year(datum) < year(now())

red: Du får kanske byta ut now beroende på dbms

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 22 jan 2002]

Medlem sedan apr. 20012 427 inlägg
#5

Mycket riktigt Lars, jag tänkte helt fel när jag trodde att TOP skulle fungera. Distinct var naturligtvis det jag var ute efter. Tackar!

------------------
// Skarre

309 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
113 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
167 ms — ändringar (db)