Comment faire une sélection basée sur une sous-chaîne d'une colonne particulière dans HiveQL et SQL?
J'ai une table dans la ruche
S.no Age minutes code
1 10 20 75081
2 11 114 75080
3 21 104 75180
4 31 124 75108
5 10 20 75083
6 11 114 75180
7 21 104 75180
Je veux écrire un hivesql/requête sql qui donne la liste de classement du nombre total de minutes parlé basé sur la région que je.e 4 premiers chiffres du code.
Comment dois-je procéder? Je sais que SUBSTRING() me donne le nécessaire, couper, mais je n'ai pas pu aller à partir de là.
Select code, minutes as total
from TableT
where S.no > 1
group by code
order by total
Edit:
Les résultats de classement basé sur les 4 premiers chiffres du code postal devrait ressembler à quelque chose comme ceci
total code
322(j'.e 104+114+104) 7518
154(j'.e 20+114+20) 7508
124 7510
- Merci d'éditer votre question et de fournir les résultats souhaités. Il est difficile de savoir quels sont les résultats que vous voulez. Aussi, j'ai supprimé la base de la balise parce que la question est explicitement sur la Ruche.
- consultez édité question, merci.
Vous devez vous connecter pour publier un commentaire.
Hmmm. Je pense que vous voulez ce:
year
,month
, etday
. Pour une date donnée, vous pouvez utiliserwhere year = 2015 and month = 10 and day = 13
, par exemple.select substr(zip, 1, 4) as region
. donc, vers la fin, ne devrions-nous pas utilisergroup by region
par opposition àgroup by substr(zip, 1, 4)
group by region
, je pense. J'ai tendance à ne pas se rappeler de la main gauche bases de données qui permettent d'alias dans legroup by
et qui ne le font pas.