Kom ihåg mig?
Home Menu

Menu


Avancerad SQL-fråga

 
Ämnesverktyg Visningsalternativ
Oläst 2013-04-13, 13:36 #1
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Du borde skriva något i stil med det här:

Kod:
-- Kod för MySQL
DELETE 
FROM shoutbox 
WHERE message_id NOT IN 
(
    SELECT message_id 
    FROM shoutbox 
    ORDER BY message_id DESC
    LIMIT 0,30
);
Kod:
-- Kod för MS SQL-Server
DELETE 
FROM shoutbox 
WHERE message_id NOT IN 
(
    SELECT TOP 30 message_id 
    FROM shoutbox 
    ORDER BY message_id DESC
);

När du använder max i din subquery så får du bara en tuple, men du ville ha 30.

Senast redigerad av Conny Westh den 2013-04-13 klockan 13:49
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-04-13, 15:19 #2
secag secag är inte uppkopplad
Medlem
 
Reg.datum: Nov 2012
Inlägg: 211
secag secag är inte uppkopplad
Medlem
 
Reg.datum: Nov 2012
Inlägg: 211
Conny, efter testast MySQL koden så fick jag detta:
PHP-kod:
#1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' 
secag är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-04-13, 15:36 #3
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Citat:
Ursprungligen postat av secag Visa inlägg
Conny, efter testast MySQL koden så fick jag detta:
PHP-kod:
#1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' 
Jag såg detta fel, har lösningen i inlägg 11 och 12....
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-04-13, 20:38 #4
secag secag är inte uppkopplad
Medlem
 
Reg.datum: Nov 2012
Inlägg: 211
secag secag är inte uppkopplad
Medlem
 
Reg.datum: Nov 2012
Inlägg: 211
Såg inte att det fanns en sida 2 när jag postade :-)

Det funkar nu i alla fall. Men PROCEDURE är typ som en funktion fast i SQL? Hur tillämpar jag detta då? Jag kör liksom bara en enkel $db->query("SQL"); i mitt PHP-skript. Ska jag lägga in den där proceduren i SQL innan?
secag är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 10:48.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017