Your Question
The document you expected this should be explained
how can i read data that "with totals" from clickhouse?
Expected answer
Similar to below, but i want to use "[]map[string]interface{}" to receive data
/pkg/mod/github.com/!click!house/clickhouse-go/v2@v2.15.0/tests/totals_test.go
package tests
import (
"context"
"github.com/stretchr/testify/require"
"testing"
"github.com/ClickHouse/clickhouse-go/v2"
"github.com/stretchr/testify/assert"
)
func TestWithTotals(t *testing.T) {
conn, err := GetNativeConnection(nil, nil, &clickhouse.Compression{
Method: clickhouse.CompressionLZ4,
})
ctx := context.Background()
require.NoError(t, err)
const query = `
SELECT
number AS n
, COUNT()
FROM (
SELECT number FROM system.numbers LIMIT 100
) GROUP BY n WITH TOTALS
`
rows, err := conn.Query(ctx, query)
require.NoError(t, err)
var count int
for rows.Next() {
count++
var (
n uint64
c uint64
)
require.NoError(t, rows.Scan(&n, &c))
}
require.Equal(t, 100, count)
var (
n, totals uint64
)
require.NoError(t, rows.Totals(&n, &totals))
assert.Equal(t, uint64(0), n)
assert.Equal(t, uint64(100), totals)
}
Comment From: zetaab
@TDTzzz this is gorm repository, nothing to do with clickhouse.