Il y a maintenant deux tables, une table de produits, avec les champs suivants :
CREATE TABLE ft_products
(p_id
int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'product id',
p_name
varchar(50) NON NULL PAR DÉFAUT '' COMMENTAIRE 'Nom du produit',hot
tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT 'Est-ce populaire : 1 oui 0 non',sort
tinyint(1) unsigned NOT NULL DEFAULT '0 ' COMMENTAIRE 'Trier',status
tinyint(1) NON NULL PAR DÉFAUT '1' COMMENTAIRE '1Ajouter 2 Supprimer 3Supprimer',
CLÉ PRIMAIRE (p_id
)
)
Une table standard de produit avec les champs suivants :
CREATE TABLE ft_products_standard
(p_s_id
int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Product Rule Table',p_id
int( 11 ) non signé NON NULL COMMENTAIRE PAR DÉFAUT '0' 'ID du produit',price
decimal(10,2) non signé NOT NULL DEFAULT '0.00' COMMENT 'Prix unitaire',buyed_count
int(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Déjà augmenté Nombre de copies',total_count
int(5) unsigned NOT NULL DEFAULT '0' COMMENTAIRE 'Nombre total de copies requises',c_time
int(11) unsigned NOT NULL DEFAULT '0' COMMENT 'Heure de création',
CLÉ PRIMAIRE (p_s_id
)
)
Maintenant, sur la base de ces deux tableaux, un produit correspond à plusieurs prix. Je souhaite trier par nombre d'actions levées. Mais la pagination doit être basée sur les produits. Comment dois-je écrire l’instruction SQL ?
sélectionnez p_name,hot,sort,status,sum(buyed_count) comme total_buyed_count à partir de ft_products_standard à gauche, rejoignez ft_products sur ft_products_standard.p_id=ft_products.p_id groupe par ft_products_standard.p_id commande par total_buyed_count limite desc 0,10