私はこれを行うためにPHPを使用しています。 私のDBには、ある値に半類似のレコードが2つあり、HTMLの同じ行にそれらを表示するテーブルがあります。いいえ、私はselect
をMySQLでグループ化することはできません。なぜなら、SAME値がこのテーブルの2〜3(最大4)カラムしか持たず、他のカラムが異なる値(頻度、カウント)を持っているからです。 わかりやすいように、私は、列の位置が同じ位置の2つのレコード(またはそれ以上)を許可できるテーブルを持っています。 A、B、Cと呼ばれる3つの列(例)は、同じ位置では同じ値(通常は)、異なる値ではD、E、F、Gの4つの列(例)を持ちます。行をグループ化し、番号を科学的表記で表示しない
私は何をしたいですか?
画面上のデータを印刷する際に、同じ位置の値をグループ化する必要があります(同じ位置のA、B、Cまたは他の列が同じ値を持つ場合は、これをグループ化して1回だけ表示します)。同じ行に2つの異なる値を表示します。
私はしばらくの間、作成された:私はXに何ができるか
Select all DB data
While with all data to list (fetch_array);
Select the FK data;
Select the repeated data from table with a where condition in position;
IF the select of repeated data result have more than two rows:
X
Else
Display the individual rows.
End of while.
が異なる色でのみ表示されている...私は同じ値で、これらの行をマージする方法をsintetizeすることはできませんが。 ..:S
は
私のテーブル実際に...よりよく理解するために:
---------------|--------------------|----------------|----------------
Position | Variable | Frequence | Data
---------------|--------------------|----------------|----------------
102230 | Information 1 | 0.0003 | A
---------------|--------------------|----------------|----------------
102230 | Information 2 | 0.00743 | A
---------------|--------------------|----------------|----------------
103330 | Information x | 0.002558 | A
---------------|--------------------|----------------|----------------
1033340 | Information y | 0.00255 | A
---------------|--------------------|----------------|----------------
102220 | Information 4 | 0.0099553 | A
---------------|--------------------|----------------|----------------
102220 | Information 5 | 0.00722243 | A
---------------|--------------------|----------------|----------------
私が欲しいもの:
---------------|--------------------|----------------|----------------
Position | Variable | Frequence | Data
---------------|--------------------|----------------|----------------
102230 | Information 1 | 0.0003 | A
| Information 2 | 0.00743 |
---------------|--------------------|----------------|----------------
103330 | Information x | 0.002558 | A
---------------|--------------------|----------------|----------------
1033340 | Information y | 0.00255 | A
---------------|--------------------|----------------|----------------
102220 | Information 4 | 0.0099553 | A
| Information 5 | 0.00722243 |
---------------|--------------------|----------------|----------------
これは私のテーブルの一例である...私は繰り返しの位置に細胞何をマージしたい、それがこの例で、Aのセルと位置番号です(同じ値を持っています - 私の実際のスクリプトでは、より多くの列があります)、これらの値を一度表示します。また、異なる値を持つが、同じマージされた位置にある列は、同じ行に表示されますが、一方は下に表示されます。
また別の問題があります。私は、周波数を持つ小数の列を持っていますが、私はドットの後の数字のサイズを決定することはできませんので、私はドットの後にデータに大きなサイズを入れます。
問題がありますか?このような
スクリプトプリント番号:
0.00000828700000000000
0.00216100000000000000
そして、私はこれ欲しい:
0.000008287
0.002161
しかし、私はfloatval()
を使用する場合、スクリプトが返されます。
8.287E-6
0.002161
そして私を科学的表記法でのリターンを望んではいけません。
ああ、ありがとう! 私はこれだけを使用しました: 'rtrim(" 0.00000828700000000000 "、" 0 ");' と働いています... – Rafael