J'ai une table comme celle-ci:
Je veux obtenir une ligne distincte à partir de ceci. J'utilise: p> mais cela donne toujours le résultat avec 3 lignes. Je m'attendais à 2 rangées. P> Comment puis-je résoudre ce problème? P> p>
4 Réponses :
transmettez simplement le nom du champ à l'intérieur de la fonction distincte. comme ceci (au cas où si vous voulez distinct basé sur la colonne 'Compeign_Code')
DB::table('dmspro_mys_campaign_product')->distinct('compeign_code')->get();
Mon campagne_code est différent de chaque rangée. J'ai essayé mettre produit_id dans une fonction distincte, mais cela me donne toujours 3 rangées
Comme vous pouvez le constater que le champ ID est différent dans chaque ligne. Donc, dans de tels cas, vous devrez utiliser la méthode de sélection. Voir ma réponse mise à jour
À mon avis, la réponse est correcte. Les rangées de district vous donnent les résultats où chaque ligne est unique. Comme il existe de légères variations entre les trois rangées, vous obtenez les trois, car aucune ligne n'est exactement égale à une autre rangée. P>
J'espère que je pourrais aider, Sebastian p>
Oh je l'ai. Merci pour votre réponse!
Vous avez besoin d'une valeur distincte de dmspro_mys_campaign_product code> Table de la section Donc, la requête de base de données a besoin de la colonne Pass de la colonne. DB::table('dmspro_mys_campaign_product')->distinct('product_id')->get();
J'ai essayé mettre produit_id dans une fonction distincte, mais cela me donne toujours 3 rangées
@Tomato Vous devez utiliser Sélectionner ('product_id') code> méthode dans votre requête de DB.
Mais cela donnera à ma seulement 1 colonne. De toute façon pour obtenir toute la colonne avec produit distinct_id
Vous devez simplement mentionner le nom de la colonne dans distinct ('Compeign_Code') CODE>. DB::table('dmspro_mys_campaign_product')->distinct()->select('product_id');
Mon campagne_code est différent de chaque rangée. J'ai essayé mettre produit_id dans une fonction distincte, mais cela me donne toujours 3 rangées
Si j'ajoute SELECT, cela ne me donnera qu'une colonne. Quoi qu'il en soit pour obtenir une ligne avec une colonne distincte
J'ai mentionné si vous utilisez SELECT, vous n'obtiendrez qu'une seule colonne
Pardon! J'essaie votre deuxième requête avec le groupe par. J'ai eu une erreur d'erreur: erreur de syntaxe ou violation d'accès: 1055 'test.dmspro_mys_camaign_product.campaign_id' n'est pas en groupe par (SQL: Sélectionnez Distinct * à partir de dmspro_mys_campaign_product code> Groupe par product_id code>
Stackoverflow.com/questions/41571271/... Voir ceci pour le groupe par
Chaque ligne est distincte et donc le
-> distinct () code> vous donne un résultat correct. Vous voulez distinct par rapport à la colonne?Je veux distinct avec la colonne Product_id. Mais quand je mets product_id à une fonction distincte, cela me donne toujours 3 colonnes
OK, utilisez-vous des modèles
Eloquent CODE>? Si oui, quel est le nom du modèle pourdmspro_mys_campaign_product code>? En outre, comment les autres valeurs de colonne seraient-elles si vous voulez des produits distincts?Je crée un nouveau post pour une description clairement. J'espère que tu m'aides: Stackoverflow.com/questions/58216579/...