| FAQ |
| Kalender |
|
|
|
|
#1 | |||
|
||||
|
Bara ett inlägg till!
|
Citat:
1) Hämta unika fråge-id:n från databasen: Kod:
SELECT id FROM dbo.quiz WHERE category = 445 3) Hämta sedan frågorna via ytterligare en SQL: Kod:
SELECT column1, column2, etc... FROM dbo.quiz WHERE id in (1, 7, 32, 94, etc...) |
|||
|
|
Svara med citat
|
|
|
#2 | ||
|
|||
|
Flitig postare
|
Citat:
Enklast är om TS bara postar hela sin query. Hen gör förmodligen någon märklig JOIN vilket ställer till problem. |
||
|
|
Svara med citat
|
|
|
#3 | ||
|
|||
|
Mycket flitig postare
|
Citat:
SELECT * FROM tp_question INNER JOIN tp_exam_tp_question ON tp_question.Id=tp_exam_tp_question.tp_questionsId WHERE tp_examId = 445 ORDER BY RAND() LIMIT 50 |
||
|
|
Svara med citat
|
|
|
#4 | ||
|
|||
|
Flitig postare
|
Citat:
Vi kan verifiera min teori genom att du postar resultatet från följande query. Kod:
SELECT tp_question.Id FROM tp_question INNER JOIN tp_exam_tp_question ON tp_question.Id=tp_exam_tp_question.tp_questionsId WHERE tp_examId = 445 ORDER BY tp_question.Id ASC LIMIT 50 Notera att en GROUP BY inte är lösning på din problem. |
||
|
|
Svara med citat
|
|
|
#5 | |||
|
||||
|
Bara ett inlägg till!
|
Citat:
Min arkitekturella utgångspunkt är att databasen skall göra så lite som möjligt - bättre att den gör det den är bra på och så låter man applikationslagret sköta resten. Enligt mig är OPs fall ett gränsfall, kanske är MySQL:s RAND-funktion bra nog för just detta fallet men i det stora hela är RAND inte designad för att skapa slumpmässiga tal av hög kvalité: "RAND() is not meant to be a perfect random generator. It is a fast way to generate random numbers on demand that is portable between platforms for the same MySQL version." |
|||
|
|
Svara med citat
|
| Svara |
| Ämnesverktyg | |
| Visningsalternativ | |
|
|