Ho una tabella con record e ha una riga chiamata category
. Ho inserito troppi articoli e voglio selezionare solo due articoli per ogni categoria.Query MySql: selezionare le prime 3 righe della tabella per ogni categoria
ho cercato di fare qualcosa di simile:
ho creato una visione:
CREATE VIEW limitrows AS
SELECT * FROM tbl_artikujt ORDER BY articleid DESC LIMIT 2
Poi ho creato questa query:
SELECT *
FROM tbl_artikujt
WHERE
artikullid IN
(
SELECT artikullid
FROM limitrows
ORDER BY category DESC
)
ORDER BY category DESC;
Ma questo non funziona e mi sta dando solo due record?
opere perfette, questo è quello che mi serviva – AXheladini
posso creare vista in qualche modo da questa selezione, ho provato ma mi si dice: 1.349 - di vista SELECT contiene una sottoquery nella clausola FROM – AXheladini
@AXheladini: Siamo spiacenti, MySQL ha vinto Lo tengo per alcune ragioni - la sottoquery, usando le variabili ... Le viste di MySQL sono estremamente limitate, temo - elencano le restrizioni nella documentazione di CREATE VIEW: http://dev.mysql.com/doc/ refman/5.1/it/create-view.html –