J'ai un nom de colonne "pression" qui a trois valeurs (haut, bas, normal).
Maintenant, je veux montrer la somme de haut, basse et normale dans trois colonnes distinctes. P>
p>
Desired output ---------------------- pressure: high low Normal Number: ? ? ?
3 Réponses :
En supposant que vous avez une requête comme celle-ci: alors vous pouvez le faire: p> si vous voulez la valeur modale , c'est un peu plus impliqué. Comme cela est probablement des données continues, vous aurez besoin de ... ce qui peut être joint à un rond code> pour obtenir des valeurs discrètes p> Croix rejoindre code> qui va bien car chaque sous-requête ne renvoie qu'une seule ligne: p>
Merci encore de la réponse. Mon nom de colonne 'pression' a des valeurs de texte (haut, bas, normal). Maintenant, je voulais les colonner séparément et montrer dans ma requête SQL. Par exemple: ID Wrressure 1 High 2 Basse 3 Normal 4 High 5 Normal 6 High, Maintenant, je voulais montrer comme: Haute Normal 3 2 2
@Awan Votre publication originale n'a fait aucune mention de votre conception de données source ou de colonnes de texte. Veuillez éditer votre question initiale.
avec un schéma de table comme celui-ci (y compris des données d'échantillon): une solution serait d'interroger quelque chose comme ceci: p> Cela devrait entraîner quelque chose comme ceci: p> | data | high | low | normal |
| pressure | 2 | 1 | 2 |
@Dear Koderj, merci beaucoup. Son travail bien et beaucoup plus simple que la requête que j'ai postée plus tôt. Grande aide. Très appréciée!!
Je pense que vous avez besoin de quelque chose sur ces lignes
Google "SQL PIVOT QUERY" pour commencer.
S'il vous plaît définir: "normal". Voulez-vous dire la valeur de la moyenne arithmétique, la valeur modale ou la médiane? Ou une autre valeur, telle qu'une liaison de 95%?
Merci beaucoup. J'ai un nom de colonne "pression" qui a des valeurs (haut, bas, normal). Maintenant, je voulais compter ces trois valeurs et la mettre dans les colonnes séparées. Veuillez suggérer une requête SQL.
J'espère que je décris ma requête clairement
@Awan Non, vous ne décrivez pas votre problème clairement parce que vous n'avez toujours pas posté votre requête d'origine ni décrit comment votre
rejoindre code> fonctionne (et pourquoi vous utilisez unrejoindre code > En premier lieu quand on dirait que vous n'avez qu'une seule table avec des valeurs scalaires pour travailler)Bonjour Tim et Dai, merci beaucoup pour votre réponse rapide. J'ai trouvé la solution de ma requête: (partie I) Sélectionnez la somme (élevée) comme Haut1, somme (faible) comme bas1, somme (normale) comme normale1 de (Sélectionnez A2.Pressure, A2.Countwp, B.High, c. faible, d.normal à partir de (Sélectionnez A1.Pressure, A1.Countwp, B.High, C.LOW (SELECT A.PRESSURE, A.COUTWP, B.HIGE DE (SELECT DE PRESSION, COMPTE (PRESSION) COMME COMPTHP DE T1 groupe par pression) comme une jointure gauche (sélectionnez la pression, le nombre de comptes (pression) aussi élevée de T1 où la pression = «haut» groupe par pression) comme B sur A.Pressure = B.Pressure) comme A1
Joindre gauche (sélectionnez la pression, le comptage (pression) comme bas de T1 où pression = «bas» groupe par pression) comme C sur A1.Pressure = c.Presure) en tant que joint gauche (pression) (pression) à partir de t1 où pression = "normal" groupe par pression) comme d d sur a2.ressure = d.ressure) comme e
@Dai, selon vos yeux, j'ai édité ma requête. S'il vous plaît n'oubliez pas de contourner le marquage «négatif».