webForumDet fria alternativet

MAX(id)

4 svar · 268 visningar · startad av NETwork

NETworkMedlem sedan juni 20011 732 inlägg
#1

Hej! Jag skulle vilja plocka ut det högsta värdet i mitt id-fält med en sql-sats och det fungerar ju bra med MAX(id). Men om jag vill göra det i en sql-sats som samtidigt hämtar andra poster från andra kolumner så blir det fel.

SELECT *, MAX(id) AS max_id FROM Tabell WHERE blah blah...

Jag antar att det beror på att maxid bara returnerar en rad samtidigt som jag här försöker hämta flera rader. Måste jag göra två separata sql-satser? Eller går det att få med maxid i samma sql-sats samtidigt som jag vill hämta en massa andra rader med data från databasen?

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Det går att få fram i samma, om man vill.

  select (select max(id) from t ) maxid, c1,c2 from t1

Om du hämtar många poster så är det bättre att göra två frågor. En del dbms tillåter att du skickar flera statements i samma fråga

select c1,c2 from t1;select max(id) from t

och då får du två recordset. Ledtråd: set rs = rs.nextrecordset()

NETworkMedlem sedan juni 20011 732 inlägg
#3

Tackar! :)

NETworkMedlem sedan juni 20011 732 inlägg
#4

Problem, problem... nu har jag fastnat igen. Någon som ser felet i denna?

SELECT COUNT(ReviewID) AS Antal, ROUND((AVG(Overall)+0.01),0) AS O, Name, Platform, Type, Topic.GameID FROM Topic LEFT OUTER JOIN Review ON Topic.GameID = Review.GameID GROUP BY Name, Platform, Type, Topic.GameID WHERE Topic.Platform = 'Nintendo'

Får felmeddelandet "Syntax error (missing operator) in query expression 'Topic.GameID WHERE Topic.Platform = 'Nintendo''. "

Jag behöver alltså slänga på WHERE blah blah i min sql-sats. Utan WHERE så fungerar det...

NETworkMedlem sedan juni 20011 732 inlägg
#5

Ah, läste det själv... WHERE ska u vara innan GROUP BY! :)

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)