[MySQL] Select probleem

Pagina: 1
Acties:

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Ik ben bezig met een poll. De verschillende vragen hebben een id. Om de poll weer te geven op de site moet die kijken naar wat het hoogste id is.

Nu heb ik hier zitten rondzoeken, en vanalles geprobeerd, maar het wil me maar niet lukken. Het leek me ook niet zo handig om een topic uit 2001 omhoog te schoppen dus vandaar deze nieuwe.

De code die ik gebruik is:
PHP:
1
<?    $result = mysql_query("select * from poll where max(id)");?>

Verwijderd

met alleen die regel toon je nog niks hoor :)

met de query lijkt nix mis... d8 ik zo :Z

Verwijderd

ow euhm
select max(id) from blaat? :D

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 25-07 18:17

Skinny

DIRECT!

code:
1
SELECT * FROM poll ORDER BY id DESC LIMIT 0,1

SIZE does matter.
"You're go at throttle up!"


  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Ok hij doet het :)

Dank Skinny, dat was het antwoord dat ik zocht :Y)

Verwijderd

gebruik liever MAX dat is sneller
code:
1
2
3
4
5
6
explain  select * from votes order by vote_id desc limit 0,1;
+-------+-------+---------------+---------+---------+------+-------+-------+
| table | type  | possible_keys | key     | key_len | ref  | rows  | Extra |
+-------+-------+---------------+---------+---------+------+-------+-------+
| votes | index | NULL      | PRIMARY |  3 | NULL | 10105 |  |
+-------+-------+---------------+---------+---------+------+-------+-------+


code:
1
2
3
4
5
6
 explain select max(vote_id) as aantal from votes;
+------------------------------+
| Comment               |
+------------------------------+
| Select tables optimized away |
+------------------------------+

oftewel mysql geeft het aantal meteen terug zonder de tabel te doorzoeken. Dit komt omdat het aantal in het geheugen staat. (bij MyISAM tables dan...)

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 25-07 18:17

Skinny

DIRECT!

Op maandag 25 maart 2002 14:46 schreef woeitje het volgende:
gebruik liever MAX dat is sneller
Agreed, maar met jouw query
code:
1
SELECT MAX(id) FROM..

krijg je alleen het id-nummer terug en niet het gehele record. (wat wel gevraagd wordt, tussen de regels door)

SIZE does matter.
"You're go at throttle up!"


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

max() is een functie die je moet selecten
dus select max()/min()/sum()/avg() from blaat
en die kan je dus niet in een where opnemen (zoals jij dat deed). Je kan ze dus wel opnemen in een GROUP BY dmv een HAVING.

Doet iets met Cloud (MS/IBM)


Verwijderd

Op maandag 25 maart 2002 14:49 schreef Skinny het volgende:
(wat wel gevraagd wordt, tussen de regels door)
owja O+

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 25-07 18:17

Skinny

DIRECT!

Op maandag 25 maart 2002 14:52 schreef woeitje het volgende:

[..]

owja O+
[off-topic]
How cute :D

SIZE does matter.
"You're go at throttle up!"


  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Op maandag 25 maart 2002 14:49 schreef Skinny het volgende:
(wat wel gevraagd wordt, tussen de regels door)
Ow sorry, ik dacht dat dat wel duidelijk was met het stukie code dat ik poste. Zal de volgende keer iets duidelijker zijn. Maar alsnog bedankt :)
Pagina: 1