2009-05-27 9 views
1

Dans mysql, comment comptez-vous les cellules non vides dans une rangée? Et je veux compter les cellules entre certaines colonnes seulement, disons entre les colonnes 3-10. pas toutes les colonnes ... encore une fois, dans cette rangée seulement.mysql query

Répondre

1

Les colonnes ne peuvent être abordés dans sql avec des noms non numéros si vous voulez faire cela, vous devrez le faire dans un langage de programmation qui appelle la requête

0

Théoriquement, les attributs d'un relvar ne sont pas ordonnés et par conséquent, vous ne devriez pas être capable de le faire. Cependant, dans MySQL je crois que vous pouvez interroger le catalogue pour obtenir les noms et aussi l '«ordre» des colonnes d'une table. Vous pouvez obtenir les noms des colonnes et l'ordre comme suit:

select column_name, ordinal_position from information_schema.columns where table_name='my_table'; 

Cependant, je doute que cela vous aidera trop. Ce que vous faites sent comme une mauvaise conception de base de données et si vous ne pouvez rien faire à propos de la conception, ce qui malheureusement arrive parfois, vous pouvez aller chercher les lignes de votre table dans un langage de programmation, par exemple. PHP, puis utilisez des boucles pour compter manuellement les cellules non vides dans les cellules que vous aimez. Vous pouvez extraire les lignes dans un tableau, puis accéder aux cellules individuelles en fournissant l'index du tableau.

Si vous êtes heureux de le faire de cette façon, alors pourquoi pas? Cela ne devrait certainement pas être trop difficile.