2010-10-01 5 views
0

Utilisation de MySQL et PHP; Je suis en train de construire un index qui contient les moyennes de table_1 groupées par:Construction d'une table d'index à partir d'une base de données MySQL avec PHP

Type

, nom, heure, jour, mois, année

donc j'ai besoin de savoir qui de valeurs combinaison sont en table_1 donc je savoir quoi mettre dans mes requêtes AVG().

Ce que je veux est de comprendre toutes les différentes de combinaison qui peut être fait lorsque l'on compare les lignes suivantes dans le tableau:

type 
name 
hour 
day 
month 
year 

Voici un exemple de table_1:

ID|type|name|location|amount|year|month|day_num|day|hour|minute|second 

1|car|ben|1|1.00|2010|10|01|Friday|03|05|45 
1|car|bob|1|3.00|2010|10|01|Friday|04|05|45 
2|cow|bob|2|2.00|2009|07|12|Sunday|09|10|12 
2|cow|ben|2|4.00|2009|07|12|Sunday|10|10|12 

Alors, que Je finirais avec est:

type|name|year|month|day|hour  

car|ben|2010|10|01|Friday|03 
car|bob|2010|10|01|Friday|04 
cow|bob|2009|07|12|Sunday|09 
cow|ben|2009|07|12|Sunday|10 

Comment formater une requête pour faire cela?

+0

Juste pour être certain: Voulez-vous trouver toutes les combinaisons qui * existent * maintenant, ou les combinaisons qui sont * possibles * avec les valeurs existantes? –

+0

Toutes les combinaisons qui existent actuellement. – Mark

+0

Pourquoi dans le monde n'utilisez-vous pas un DATETIME? Toutes les informations seraient toujours disponibles (même le jour de la semaine). – halfdan

Répondre

1

Puisque vous voulez juste les combinaisons qui existent, vous pouvez simplement exécuter cette requête:

SELECT DISTINCT type, name, hour, day, month, year FROM table 

Cela passe par toutes les lignes, et pour chaque combinaison qui existe dans le tableau, cette combinaison est émis une fois dans le jeu de résultats.

+0

Merci, ça marche super! Si simple mais si efficace. – Mark