ho una tabella mysql di commenti, come questa.Mysql Come posso recuperare 2 set di risultati in una singola query dalla stessa tabella?
+------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------------+------+-----+---------+----------------+
| userid | int(11) | NO | | 0 | |
| comment | char(255) | NO | | NULL | |
| content | int(11) | NO | MUL | 0 | |
| ratings | int(11) | NO | | 0 | |
| datetime | datetime | NO | | NULL | |
| ip | int(10) unsigned | NO | | NULL | |
| is_updated | tinyint(2) | NO | | 0 | |
| record_num | int(11) | NO | PRI | NULL | auto_increment |
+------------+------------------+------+-----+---------+----------------+
ora posso recuperare i commenti da questo e i nomi utente da un'altra tabella utilizzando la query INNER JOIN come questa.
posso ottenere top 3 commenti ORDER BY DESC comments.ratings
SELECT comments.userid, users.username, comments.comment, comments.ratings, comments.datetime, comments.record_num , content.uploader , content.anonymous
FROM comments
LEFT JOIN users ON comments.userid = users.record_num
LEFT JOIN content ON comments.content = content.record_num
WHERE comments.content = ? ORDER BY comments.ratings DESC limit 3
e
ottenendo regolare commenti ORDER BY comments.datetime DESC.
SELECT comments.userid, users.username, comments.comment, comments.ratings, comments.datetime, comments.record_num , content.uploader , content.anonymous
FROM comments
LEFT JOIN users ON comments.userid = users.record_num
LEFT JOIN content ON comments.content = content.record_num
WHERE comments.content = ? ORDER BY comments.datetime DESC limit ?, ?
quello che sono tryingf a fare è mostrare agli utenti i primi 3 commenti per le loro valutazioni in un primo momento e poi regolare ordine commenti da comments.datetime DESC.
ora come posso unirmi sopra due query mysql in una?
grazie per il tuo input, che è una grossa query, – AMB
@AMB sono le tue due domande - ho appena formattato in modo diverso per una lettura leggermente più semplice. Non c'è molto altro lavoro addizionale –
c'è un modo, posso anche visualizzare anche valori duplicati, voglio dire se ci sono solo 3 commenti, quindi dovrebbe restituire 6 commenti, prima impostare l'ordine da commenti.ratings DESC e un altro set ORDER BY comments.datetime DESC – AMB