SQL = "SELECT * FROM nyheter ORDER BY c1 desc , c2 desc, c3 desc"
Du kan ange asc eller desc efter varje uttryck.
6 svar · 256 visningar · startad av Korak
Denna fråga har kanske varit uppe förrut men jag sökte och kunde inte finna något svar.
Jag undrar hur jag ska göra för att sortera "först efter..." sedan efter...":
SQL = "SELECT * FROM nyheter ORDER BY Första sedan efter Andra och sist efter Tredje DESC"
Hoppas ni förstod vad jag menade.
SQL = "SELECT * FROM nyheter ORDER BY c1 desc , c2 desc, c3 desc"
Du kan ange asc eller desc efter varje uttryck.
Tack så mycket!
Jag kanske skulle kunna passa på att fråga om en annan sak som gäller samma script som frågan ovan.
Det jag håller på med är ett "event-script", typ en planeringskalender där man skriver in saker som ska göras.
Det jag skulle vilja få in är att dagen efter det att ett event har ägt rum raderas inlägget från databasen.
Någon som har några tips på hur man bör gå tillväga?
Nu har gjort det så att när man skriver in ett nytt event väljer man datum i listmenyer:
År=pubyear, Månad=pubmonth, Dag=pubday.
Antar att detta inte skulle funka så bra med det jag vill.
Hur bör jag göra?
Det är alltid bättre att använda datatypen date än att lagra år månad och dag som separata värden.
Om du bara vill visa aktuella händelser så kan du ta med ett villkor som
query = "select * from events where eventDate >= date()"
Om du har riktiga index på dina tabeller så har det ingen prestandamässig betydelse om det ligger kvar gamla data. (Det låter inte som om det kommer att bli stora datamängder.)
Annars så finns det lite olika möjligheter att rensa regelbundet. Om du har tillgång till severn så är det bästa att schemalägga ett jobb som körs t.ex. varje dag som bara loggar in och gör
delete from events where eventDate < date()
Det går också att lägga kod i global.asa, t.ex.
sub session_onStart
delete = true
application.lock
if isdate(application("deleted")) then
delete = cdate(application("deleted")) < date
end if
if delete then
set connect = server.createobject("adodb.connection")
connect.open dsn
connect.execute "delete from events where eventDate < date()",,128
connect.close
end if
application("delete") = date
application.unlock
end sub
Dom sql-satser jag har skrivit är tänkta för Access.
Ok, tackar!
Nu har jag ändrat om lite. När man skriver in datum för event gör man det i en textbox och det lagras som datum i kolumnen eventDate.
Nu undrar jag hur jag får in queryn?
SQL = "SELECT * FROM nyheter ORDER BY eventDate"
query = "SELECT * FROM nyheter where eventDate >= date()"
Detta är fel antar jag...
Jag fick till det, tack för hjälpen!
En liten fråga till:
Är detta rätt sätt att visa inlägg från dagens och gårdagens datum?
SQL = "SELECT * FROM events WHERE eventDate >= date()-1 ORDER BY eventDate"